home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
MYMUD21.ZIP
/
MMUD21.ZIP
/
DOCU
/
TECHDOCU.DOC
< prev
next >
Wrap
Text File
|
1995-01-21
|
7KB
|
208 lines
Understand the database and you understand MyMUD.
General remarks:
================
Names:
Every object can have more than one name. The different names are
separated by pointcommas.
LongText record:
This record defines a textblock of maximal 2kb with descriptive text.
This text is stored in the <worldname>.DAT file.
The ObjRecord definition:
=========================
Name:
This is always the name of the record. For exist and actions the name
is also the action or exit to type. When an exit is called
North;Go North;Leave
The user is transported through the exit/action on typing one of those
names.
Password:
This field is only used for PlayerRecords. (Hmm. why?! It could be usefull
for exits too..)
Key:
The key field can contain a boolean expression. The expression means for
Players: If a player can be robbed
Exits: If a player can pass
Actions: If a player can call the action
Things: If the thing can be taken
If the expression evaluates to true, the action is performed and the
SUCCESS/OSUCCESS text is shown. If it evaluates false, nothing happens
and the FAIL/OFAIL text is shown.
Location:
The recordnumber of the location of the object. This can be a room_type
object or a player_type object.
For Exit_Type objects it describs the DESTINATION room.
Contents:
For player_type object this starts the chain of items they possess. For
Room_Type objects this starts the chain of things it contains.
Exits:
For Rooms: The list of possible exits and actions.
For Players: Only one record of the HOME location.
For Things: Only one record of the HOME location
Owner:
The owner of the object. Often the creator, but through the ChOwn bit
or a shop items can change owners. A player has to own an object to
change it's attributes depending on the player's level.
Pennies:
The amound of gold a player has. Coins are found, gained in temples and
shops or given by a god or wizard. Coins can be stolen (ROB), spend on
buying things in a shop, or be given away. Creatings objects costs coins.
For Thing_Type objects the field contains their value for selling or
sacrificing.
ObjType:
Defines the object type:
Room_Type : a location
Thing_Type : an object/thing
Exit_Type : a exit/action
Player_Type : a player
Drone_Type : an object which follows the player around.
ObjLevel:
Defines a player his level:
Guest/toad : The lowestlevel. Not many possibilities
Player : Default level, normal play
Builder : Can build new objects and locations
Wizards : Can also create magic items and change other players
their items.
God : The owner of the playyard. Can do everything. There is
only one god.
GenFlags:
General system flags. At this moment none are defined.
Desc:
A longtext record. Is shown when an object is looked at, read or used with
not enough parameters.
Fail:
A longtext record. Is shown to the player if a key evaluation fails.
Success:
A LongText record. Is shown to the player if a key evaluation succeeds.
OFail:
A LongText record. Is shown to the other players in the same location when
a key evaluation fails.
Osuccess:
A LongText record. Is shown to the other players in the same location when
a key evaluation succeeds.
Macro:
A LongText record. Contains the macro commands which perform the actions
when an object is used.
SEX:
Nope, not "Yes please" Nerd! The player's sex. Can be Neuter, Female or
Male.
Room_Flags:
Define the properties of a room_type object.
Temple_Room: Items dropped here go to their home location. User gets
its value in pennies.
Show_Room: Items dropped here give their value in pennies to the user.
The item gets more expensive.
Haven_Room: A quiet place. Users cannot be killed or paged here.
Loud_Room: In a room marked as loud, other users can overhear
whispers. Sometimes.. scrambled a little..
Attr_Flags:
Defines other attributes of an object:
Link_Ok_Flag: Builders and higher can create new exits and actions
here.
Sticky_Flag: For objects it means that when dropped they go back to
their Home location.
For players it means that they DON't go home when
they leave the mud.
Teleport_Ok_Flag: It's ok to teleport to this location.
Invisible_Flag: Makes the object or player invisible.
For_Sale_Flag: Used together with Shop_Type rooms.
ChOwn_Ok_Flag: For things this means they can change owners.
For players this means they accept the ownership of
strange objects.
Garbage:
List of destroyed objects. In a later version on MyMUD should first check
this list before creating a new object.
Finger:
LongText record. The information in this record is shown whenever a user
@FINGERs an other user or object with this info set.
Storage:
Ten integers of variable space for use in macro's.
Boolean expressions:
====================
The boolean expression in MyMUD work with objectnumbers. ObjectNumbers
represent players or things. A player can be or cannot be. A player can
have or not have a certain level and an object can be in the possession
of a player or not.
Examples: !1 Means, true if you are not the GOD of the game. (who
always has record number 1)
@W True if the player has a level Wizard or higher.
34 True when the player has object #34.
These of course are very simple expressions. So there are also operators:
& = Logical AND
| = Logical OR
! = Logical NOT
@[P,B,W,G] defines a minimal level. P)layer B)uilder W)izard G)od
When in the game ME is translated into the players own recordnumber HERE into
the current location and and items translate into their objectnumbers. I use
names here instead of numbers for clarity. In reality they are translated into
numbers.
Now you can make more complex expressions:
ME|RED KEY The owner/player or everybody with the red key
ME|!ME Always false so lockes an item quite nicely.
@B|GUEST TOKEN All builders, wizards and the GOD AND the player with the
guest token item.
Door 1 exit in: (Red Key) Exit back: Red Key
next door 2: Exit in (!RED KEY) Exit Back (ME|!ME)
The user passes door 1, and can still go back. If he wants to continue though
he has to drop the key (which should be sticky and return to it's home room
for someone else to find) Once door 2 is also passed there is no way back.
Expression are also used to lock magic objects. Say you made a potion of
teleport which you want to keep for yourself. Just set the lock to ME
Thisway no other user can use the item.
Then there is the $ Symbol which, when used in an expression, is sometimes
true and sometimes false. This to juice up the game with some random
behaviour.